import time
from selenium.webdriver.common.by import By
from common.Utils import BlogDriver

#测试博客编辑页面
class BlogEdit:
    url=""
    driver=""
    def __init__(self):
        self.url="http://8.137.19.140:9090/blog_edit.html"
        self.driver=BlogDriver.driver
        self.driver.get(self.url)

        #正确发布博客（登录状态下）
    def EditSucTestByLogin(self):
        self.driver.find_element(By.CSS_SELECTOR,"#title").send_keys("自动化测试用例")
        #找到编辑区域，输入关键词（编辑区域不可操作）
        # time.sleep(2)
        # self.driver.find_element(By.CSS_SELECTOR,"#editor > div.CodeMirror.cm-s-default.CodeMirror-wrap > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre > span > span").clear()
        # self.driver.find_element(By.CSS_SELECTOR,"#editor > div.CodeMirror.cm-s-default.CodeMirror-wrap > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre > span > span").send_keys("开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天开心每一天")
        #找到编辑区域，输入关键词
        self.driver.find_element(By.CSS_SELECTOR,"#editor > div.editormd-toolbar > div > ul > li:nth-child(21) > a > i").click()
        #直接点击发布按钮来发布博客
        self.driver.find_element(By.CSS_SELECTOR,"#submit").click()
        #点击完成之后出现页面跳转，页面跳转需要加载时间，可能会出现代码执行速度比页面渲染速度要快，导致元素找不到，因此可以添加等待
        #隐式等待：创建浏览器对象之后就可以加上，因为隐式等待的作用域是driver的整个生命周期
        #显示等待：可以作用在当前代码中
        #
        actual=self.driver.find_element(By.CSS_SELECTOR,"body > div.container > div.right > div:nth-child(1044) > div.title").text
        assert actual=="自动化测试用例"
        #屏幕截图
        BlogDriver.getScreenShot()


        # time.sleep(3)
